#ifndef INTERFACE_H
#define INTERFACE_H

#include <opencv2/opencv.hpp>
#include <QObject>

using namespace std;
using namespace  cv;

struct Employee
{
    string group_id;
    string user_id;
    string user_info;
    double score;//相似度

};

//想在信号和槽之间传递自定义参数，必须添加这个宏
Q_DECLARE_METATYPE(Employee);


//定义face类，因为要使用信号与槽，必须继承
//face类主要进行人脸检查
class  Face:public QObject
{

    Q_OBJECT //使用信号必须加一个宏
    public:
        Face(string &model);

    public slots:
        void detect(cv::Mat image);//检测人脸
        void recongnize(cv::Mat face);//识别人脸

     signals:
        void detected(Rect face);
        void recongnized(Employee);//识别后发送信息的信号

    private:
        CascadeClassifier classifier; //创建一个级联分类器的成员变量



};
#endif // INTERFACE_H
